package packets;

import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.List;

import org.jnetpcap.nio.JBuffer;

/**
 * Diese Klasse setzt die Struktur der Link Data wie sie in LSAs vorkommen um. 
 * @author pascal
 *
 */
public class LinkData extends JBuffer {

	private long linkData;
	private int linkType;
	private int numberOfTOS;
	private int metric;
	private List<TOSData> tosList;
	
	public LinkData(JBuffer peer, int offset, int length) {
		super(peer);
		this.peer(peer, offset, length);
		tosList = new ArrayList<TOSData>();
		this.decode();
		
	}
	
	/**
	 * Dekodiert den zugewiesenen Speicherbereich und findet so die TOS Daten dieser Link Data.
	 */
	public void decode(){
		linkData = getUInt(0);
		linkType = getUByte(4);
		numberOfTOS = getUByte(5);
		metric = getUShort(6);
		
		
		int offsetIntoHeader = 8;
		for(int i=0; i<numberOfTOS; i++){
			TOSData tempTOS = new TOSData(this, offsetIntoHeader, 4);
			
			tosList.add(tempTOS);
			
		}
			
		
	}
		

}
